package cn.bblocks.common.i18n.repository;

import lombok.NonNull;

import java.util.Locale;
import java.util.Map;

/**
 * 定义接口，引用方可以实现这个接口来传入自己的国际化常量内容<br>
 * 如果自己实现了其他的Service，要求缓存
 **/
public interface I18nConfigDbLoader {

    /**
     * 获取code值，正常字符串，"",null,前2种算存在
     * @param locale
     * @param code
     * @return
     */
    String getLocaleCodeTxt(@NonNull Locale locale, @NonNull String code);
    /**
     * 初始化同步-来源DB
     * @return
     */
    void loadI18nDictByLocaleEntity();

    /**
     * 将无效的编码记录下来，以便维护(一般是异步操作)
     * @param code 编码
     * @param locale 环境
     */
    void markInvalidCode(@NonNull String code,Locale locale);
}
